perm filename 0.SAI[999,BGB] blob sn#030930 filedate 1973-03-25 generic text, type T, neo UTF8
00100	BEGIN "0"
00200		REQUIRE "ABBREV[SYS,BGB]" SOURCE_FILE;
00300	
00400		DEFINE CALLI="'047000000000";
00500		DEFINE SWAR ="'043000000000";
00600		DEFINE UPG  ="'703000000000";
00700	
00800		ITG ARRAY DPYBUF [0:25000];
00900		ITG ARRAY FRAME[0:60];
01000		ITG ARRAY SIZE[0:60];
01100		ITG I,J,FLG;
01200		ITG PTR,SIZ;
01300		STRING FILM;
01400		LABEL L1,L2;
01500	
01600	L1:
01700		FILM ← "A";
01800		PTR ← 0;
01900	α LOAD 'EM UP;
02100		FOR I←0 STEP 1 UNTIL '54 DO
02200		BEGIN
02300			OPEN(1,"DSK",8,3,0,0,0,0);
02400			LOOKUP(1,FILM&CVOS(I)&".PLT[ARM,LOU]",FLG);
02500			IF FLG THEN GO L1;
02600			J ← WORDIN(1);
02700			SIZ ← WORDIN(1);
02800			ARRYIN(1,DPYBUF[PTR],SIZ);
02900			RELEASE(1);
03000			FRAME[I]←LOCATION(DPYBUF[PTR]);
03100			SIZE[I]←SIZ;
03200			PTR←PTR+SIZ;
03300		END;
03350		OUTSTR(↓&9&"TOTAL BUFFER SIZE IS "&CVS(PTR)&↓);
03400		S⊂ MOVEI L2;HRRM '120;HRRM '124;'047000400017;JRST 4,;⊃;
03600	L2:
     

00100	S⊂ "LOOP" 
00200		LABEL L0,L1,SA,L2,L3,DEL,CRL,OSTR,L00;
00300		LABEL SWARG,REE,CNT1,CNT2;
00305		MOVEI 1001;
00310		'702000000000 3,;
00400		MOVEI L0;HLRM '120;
00500	L0:	MOVEI REE;HRRM '144;MOVEI 1,40;
00600	L00: 	MOVE CRL;XCT OSTR;SOJG 1,L00;
00800	
00900	α FIRE UP SPACE WAR JOB;
01000		SETZM I;
01100		MOVEI SA;
01200		HRL SWARG;
01300		CALLI '400003;
01400		CALLI '400017;
01500	
01600	α SLEEP - PER CHANCE TO DREAM;
01700	L1:	MOVEI 1,1;
01800		CALLI 1,'31;
01900		JFCL;
01950		'051100000000;
02000		JRST L1;
02010		CAIN '15;JRST L1;CAIN '12;JRST L1;
02025		ANDI '17;MOVEM CNT2;
02026		MOVE CRL;XCT OSTR;
02027		MOVE CRL;XCT OSTR;
02028		MOVE CRL;XCT OSTR;
02029		MOVE CRL;XCT OSTR;
02030		MOVE CRL;XCT OSTR;
02050		JRST L1;
02100	
02200	α SPACE WAR MODULE;
02300	SA:	AOS 1,CNT1;CAMGE 1,CNT2;CALLI '400024;
02325		SETZM CNT1;
02350		MOVE 1,I;ADD 1,DEL;SKIPN 1;MOVNS DEL;MOVEM 1,I;
02400		CAIN 1,'54;MOVNS DEL;
02500		MOVE 1,I; ADD 1,FRAME; MOVE (1); MOVEM PTR;
02600		MOVE 1,I; ADD 1,SIZE;  MOVE (1); MOVEM SIZ;
02700		JRST 3,@L2;L2: L3;L3: UPG PTR;
02800		JFCL;
02900		CALLI '400024;
03000	DEL:	1;
03100	CRL:	'064240000000;
03200	OSTR:	'051140000000;
03300	SWARG:	'400001;
03400	CNT1:0;CNT2:0;
03450	REE:	ANDI '17;
03475		MOVEM SWARG;
03500		JRST L0;
03600	END;
03700	END "0";